import request from '@/config/axios'

// 基础配置 VO
export interface ConfigSetVO {
  id: number // ID
  type: string // 类型 0-分色量化 1-分值等级 2-系数管理
  name: string // 名称
  code: string // 编号
  status: string // 状态（0正常 1停用）
  remark: string // 备注
  scoreStatus: string // 分值状态 ：0-不扣分 1-扣分 2-一票否决
  minScore: number // 分值下限/管理系数下限/员工人数数量下限
  maxScore: number // 分值上限/管理系数上限/员工人数数量上限
  minLine: number // 红线数量下限
  maxLine: number // 红线数量上限
  minVeto: number // 否决项数量下限
  maxVeto: number // 否决项数量上限
  divisorNum: number // 产品组除数
  coefficientType: string // 系数类型
  manageCoefficient: number // 管理系数
  minScoreContain: string // 是否包含分值下限
  maxScoreContain: string // 是否包含分值上限
  minLineContain: string // 是否包含红线数量下限
  maxLineContain: string // 是否包含红线数量上限
  minVetoContain: string // 是否包含否决项数量下限
  maxVetoContain: string // 是否包含否决项数量上限
  judgeStandard: string // 判定标准 0-且 1-或
  configDetails: ExpressConfigDetailsVO[]
}

export declare type ExpressConfigDetailsVO = {
  id: number
  name: String
  score: number
}

// 基础配置 API
export const ConfigSetApi = {
  // 查询基础配置分页
  getConfigSetPage: async (params: any) => {
    return await request.get({ url: `/ehs/config-set/page`, params })
  },

  // 查询基础配置详情
  getConfigSet: async (id: number) => {
    return await request.get({ url: `/ehs/config-set/get?id=` + id })
  },

  // 新增基础配置
  createConfigSet: async (data: ConfigSetVO) => {
    return await request.post({ url: `/ehs/config-set/create`, data })
  },

  // 修改基础配置
  updateConfigSet: async (data: ConfigSetVO) => {
    return await request.put({ url: `/ehs/config-set/update`, data })
  },

  // 删除基础配置
  deleteConfigSet: async (id: number) => {
    return await request.delete({ url: `/ehs/config-set/delete?id=` + id })
  },

  // 导出基础配置 Excel
  exportConfigSet: async (params) => {
    return await request.download({ url: `/ehs/config-set/export-excel`, params })
  },

   //状态修改
  updateStatus: async (id: number, status: String) => {
    const data = {
      id: id,
      status: status
    }
    return await request.put({ url: '/ehs/config-set/update-status', data: data })
  }
}
